
tp1c:     file format elf32-tradlittlemips

Disassembly of section .text:

00400830 <__start>:
  400830:	3c1c0fc0 	lui	gp,0xfc0
  400834:	279c7c00 	addiu	gp,gp,31744
  400838:	0399e021 	addu	gp,gp,t9
  40083c:	27bdffc0 	addiu	sp,sp,-64
  400840:	afbc0010 	sw	gp,16(sp)
  400844:	afb60030 	sw	s6,48(sp)
  400848:	afb5002c 	sw	s5,44(sp)
  40084c:	afb40028 	sw	s4,40(sp)
  400850:	afb1001c 	sw	s1,28(sp)
  400854:	00a0a821 	move	s5,a1
  400858:	afbf0038 	sw	ra,56(sp)
  40085c:	afbc0034 	sw	gp,52(sp)
  400860:	afb30024 	sw	s3,36(sp)
  400864:	afb20020 	sw	s2,32(sp)
  400868:	afb00018 	sw	s0,24(sp)
  40086c:	00808821 	move	s1,a0
  400870:	00c0b021 	move	s6,a2
  400874:	00e0a021 	move	s4,a3
  400878:	14800002 	bnez	a0,400884 <__start+0x54>
  40087c:	00802821 	move	a1,a0
  400880:	27a50040 	addiu	a1,sp,64
  400884:	8cb20000 	lw	s2,0(a1)
  400888:	8cb00004 	lw	s0,4(a1)
  40088c:	00121080 	sll	v0,s2,0x2
  400890:	00a21021 	addu	v0,a1,v0
  400894:	24420008 	addiu	v0,v0,8
  400898:	8f818078 	lw	at,-32648(gp)
  40089c:	00000000 	nop
  4008a0:	ac220000 	sw	v0,0(at)
  4008a4:	12000012 	beqz	s0,4008f0 <__start+0xc0>
  4008a8:	24b30004 	addiu	s3,a1,4
  4008ac:	02002021 	move	a0,s0
  4008b0:	2405002f 	li	a1,47
  4008b4:	8f998018 	lw	t9,-32744(gp)
  4008b8:	00000000 	nop
  4008bc:	273909d0 	addiu	t9,t9,2512
  4008c0:	00000000 	nop
  4008c4:	0320f809 	jalr	t9
  4008c8:	00000000 	nop
  4008cc:	8fbc0010 	lw	gp,16(sp)
  4008d0:	00000000 	nop
  4008d4:	8f818060 	lw	at,-32672(gp)
  4008d8:	00000000 	nop
  4008dc:	14400037 	bnez	v0,4009bc <__start+0x18c>
  4008e0:	ac220000 	sw	v0,0(at)
  4008e4:	8f818060 	lw	at,-32672(gp)
  4008e8:	00000000 	nop
  4008ec:	ac300000 	sw	s0,0(at)
  4008f0:	12200015 	beqz	s1,400948 <__start+0x118>
  4008f4:	00000000 	nop
  4008f8:	12800004 	beqz	s4,40090c <__start+0xdc>
  4008fc:	00000000 	nop
  400900:	8f818040 	lw	at,-32704(gp)
  400904:	00000000 	nop
  400908:	ac340000 	sw	s4,0(at)
  40090c:	8f828094 	lw	v0,-32620(gp)
  400910:	00000000 	nop
  400914:	1040000c 	beqz	v0,400948 <__start+0x118>
  400918:	00000000 	nop
  40091c:	12a0000a 	beqz	s5,400948 <__start+0x118>
  400920:	00000000 	nop
  400924:	12c00008 	beqz	s6,400948 <__start+0x118>
  400928:	02a02021 	move	a0,s5
  40092c:	02c02821 	move	a1,s6
  400930:	8f998038 	lw	t9,-32712(gp)
  400934:	00000000 	nop
  400938:	0320f809 	jalr	t9
  40093c:	00000000 	nop
  400940:	8fbc0010 	lw	gp,16(sp)
  400944:	00000000 	nop
  400948:	8f848048 	lw	a0,-32696(gp)
  40094c:	8f998044 	lw	t9,-32700(gp)
  400950:	00000000 	nop
  400954:	0320f809 	jalr	t9
  400958:	00000000 	nop
  40095c:	8fbc0010 	lw	gp,16(sp)
  400960:	00000000 	nop
  400964:	8f998088 	lw	t9,-32632(gp)
  400968:	00000000 	nop
  40096c:	0320f809 	jalr	t9
  400970:	00000000 	nop
  400974:	8fbc0010 	lw	gp,16(sp)
  400978:	00000000 	nop
  40097c:	8f868078 	lw	a2,-32648(gp)
  400980:	00000000 	nop
  400984:	8cc60000 	lw	a2,0(a2)
  400988:	02402021 	move	a0,s2
  40098c:	02602821 	move	a1,s3
  400990:	8f998050 	lw	t9,-32688(gp)
  400994:	00000000 	nop
  400998:	0320f809 	jalr	t9
  40099c:	00000000 	nop
  4009a0:	8fbc0010 	lw	gp,16(sp)
  4009a4:	00402021 	move	a0,v0
  4009a8:	8f99803c 	lw	t9,-32708(gp)
  4009ac:	00000000 	nop
  4009b0:	0320f809 	jalr	t9
  4009b4:	00000000 	nop
  4009b8:	8fbc0010 	lw	gp,16(sp)
  4009bc:	24420001 	addiu	v0,v0,1
  4009c0:	8f818060 	lw	at,-32672(gp)
  4009c4:	00000000 	nop
  4009c8:	1000ffc9 	b	4008f0 <__start+0xc0>
  4009cc:	ac220000 	sw	v0,0(at)
  4009d0:	3c1c0fc0 	lui	gp,0xfc0
  4009d4:	279c7a60 	addiu	gp,gp,31328
  4009d8:	0399e021 	addu	gp,gp,t9
  4009dc:	00001021 	move	v0,zero
  4009e0:	80830000 	lb	v1,0(a0)
  4009e4:	00000000 	nop
  4009e8:	10650005 	beq	v1,a1,400a00 <__start+0x1d0>
  4009ec:	00000000 	nop
  4009f0:	1460fffb 	bnez	v1,4009e0 <__start+0x1b0>
  4009f4:	24840001 	addiu	a0,a0,1
  4009f8:	03e00008 	jr	ra
  4009fc:	00000000 	nop
  400a00:	1000fffb 	b	4009f0 <__start+0x1c0>
  400a04:	00801021 	move	v0,a0

00400a08 <_rtld_setup>:
  400a08:	3c1c0fc0 	lui	gp,0xfc0
  400a0c:	279c7a28 	addiu	gp,gp,31272
  400a10:	0399e021 	addu	gp,gp,t9
  400a14:	27bdffd0 	addiu	sp,sp,-48
  400a18:	afbc0018 	sw	gp,24(sp)
  400a1c:	afb00020 	sw	s0,32(sp)
  400a20:	3c03d550 	lui	v1,0xd550
  400a24:	00a08021 	move	s0,a1
  400a28:	afb10024 	sw	s1,36(sp)
  400a2c:	afbf002c 	sw	ra,44(sp)
  400a30:	00808821 	move	s1,a0
  400a34:	afbc0028 	sw	gp,40(sp)
  400a38:	8f878018 	lw	a3,-32744(gp)
  400a3c:	00000000 	nop
  400a40:	24e71f34 	addiu	a3,a3,7988
  400a44:	24060002 	li	a2,2
  400a48:	24050000 	li	a1,0
  400a4c:	24040004 	li	a0,4
  400a50:	12000005 	beqz	s0,400a68 <_rtld_setup+0x60>
  400a54:	3463b87a 	ori	v1,v1,0xb87a
  400a58:	8e020000 	lw	v0,0(s0)
  400a5c:	00000000 	nop
  400a60:	10430010 	beq	v0,v1,400aa4 <_rtld_setup+0x9c>
  400a64:	00000000 	nop
  400a68:	24020021 	li	v0,33
  400a6c:	afa20010 	sw	v0,16(sp)
  400a70:	8f998098 	lw	t9,-32616(gp)
  400a74:	00000000 	nop
  400a78:	0320f809 	jalr	t9
  400a7c:	00000000 	nop
  400a80:	8fbc0018 	lw	gp,24(sp)
  400a84:	24050000 	li	a1,0
  400a88:	24040001 	li	a0,1
  400a8c:	24060001 	li	a2,1
  400a90:	8f998098 	lw	t9,-32616(gp)
  400a94:	00000000 	nop
  400a98:	0320f809 	jalr	t9
  400a9c:	00000000 	nop
  400aa0:	8fbc0018 	lw	gp,24(sp)
  400aa4:	8e030004 	lw	v1,4(s0)
  400aa8:	24020001 	li	v0,1
  400aac:	24050000 	li	a1,0
  400ab0:	24040004 	li	a0,4
  400ab4:	8f878018 	lw	a3,-32744(gp)
  400ab8:	00000000 	nop
  400abc:	24e71f58 	addiu	a3,a3,8024
  400ac0:	10620010 	beq	v1,v0,400b04 <_rtld_setup+0xfc>
  400ac4:	24060002 	li	a2,2
  400ac8:	24020020 	li	v0,32
  400acc:	afa20010 	sw	v0,16(sp)
  400ad0:	8f998098 	lw	t9,-32616(gp)
  400ad4:	00000000 	nop
  400ad8:	0320f809 	jalr	t9
  400adc:	00000000 	nop
  400ae0:	8fbc0018 	lw	gp,24(sp)
  400ae4:	24050000 	li	a1,0
  400ae8:	24040001 	li	a0,1
  400aec:	24060001 	li	a2,1
  400af0:	8f998098 	lw	t9,-32616(gp)
  400af4:	00000000 	nop
  400af8:	0320f809 	jalr	t9
  400afc:	00000000 	nop
  400b00:	8fbc0018 	lw	gp,24(sp)
  400b04:	02202021 	move	a0,s1
  400b08:	8f998044 	lw	t9,-32700(gp)
  400b0c:	00000000 	nop
  400b10:	0320f809 	jalr	t9
  400b14:	00000000 	nop
  400b18:	8fbc0018 	lw	gp,24(sp)
  400b1c:	8fbf002c 	lw	ra,44(sp)
  400b20:	8fb10024 	lw	s1,36(sp)
  400b24:	8fb00020 	lw	s0,32(sp)
  400b28:	03e00008 	jr	ra
  400b2c:	27bd0030 	addiu	sp,sp,48

00400b30 <__do_global_dtors_aux>:
  400b30:	3c1c0fc0 	lui	gp,0xfc0
  400b34:	279c7900 	addiu	gp,gp,30976
  400b38:	0399e021 	addu	gp,gp,t9
  400b3c:	27bdffe0 	addiu	sp,sp,-32
  400b40:	afbc0010 	sw	gp,16(sp)
  400b44:	8f82801c 	lw	v0,-32740(gp)
  400b48:	00000000 	nop
  400b4c:	244204e0 	addiu	v0,v0,1248
  400b50:	90420000 	lbu	v0,0(v0)
  400b54:	afbf001c 	sw	ra,28(sp)
  400b58:	1440002c 	bnez	v0,400c0c <__do_global_dtors_aux+0xdc>
  400b5c:	afbc0018 	sw	gp,24(sp)
  400b60:	8f82801c 	lw	v0,-32740(gp)
  400b64:	00000000 	nop
  400b68:	24420014 	addiu	v0,v0,20
  400b6c:	8c420000 	lw	v0,0(v0)
  400b70:	00000000 	nop
  400b74:	8c430000 	lw	v1,0(v0)
  400b78:	00000000 	nop
  400b7c:	10600013 	beqz	v1,400bcc <__do_global_dtors_aux+0x9c>
  400b80:	24420004 	addiu	v0,v0,4
  400b84:	8f81801c 	lw	at,-32740(gp)
  400b88:	00000000 	nop
  400b8c:	24210014 	addiu	at,at,20
  400b90:	ac220000 	sw	v0,0(at)
  400b94:	0060c821 	move	t9,v1
  400b98:	0320f809 	jalr	t9
  400b9c:	00000000 	nop
  400ba0:	8fbc0010 	lw	gp,16(sp)
  400ba4:	00000000 	nop
  400ba8:	8f82801c 	lw	v0,-32740(gp)
  400bac:	00000000 	nop
  400bb0:	24420014 	addiu	v0,v0,20
  400bb4:	8c420000 	lw	v0,0(v0)
  400bb8:	00000000 	nop
  400bbc:	8c430000 	lw	v1,0(v0)
  400bc0:	00000000 	nop
  400bc4:	1460ffef 	bnez	v1,400b84 <__do_global_dtors_aux+0x54>
  400bc8:	24420004 	addiu	v0,v0,4
  400bcc:	8f82806c 	lw	v0,-32660(gp)
  400bd0:	00000000 	nop
  400bd4:	10400008 	beqz	v0,400bf8 <__do_global_dtors_aux+0xc8>
  400bd8:	00000000 	nop
  400bdc:	8f84801c 	lw	a0,-32740(gp)
  400be0:	00000000 	nop
  400be4:	24840424 	addiu	a0,a0,1060
  400be8:	0040c821 	move	t9,v0
  400bec:	0320f809 	jalr	t9
  400bf0:	00000000 	nop
  400bf4:	8fbc0010 	lw	gp,16(sp)
  400bf8:	24020001 	li	v0,1
  400bfc:	8f81801c 	lw	at,-32740(gp)
  400c00:	00000000 	nop
  400c04:	242104e0 	addiu	at,at,1248
  400c08:	a0220000 	sb	v0,0(at)
  400c0c:	8fbf001c 	lw	ra,28(sp)
  400c10:	00000000 	nop
  400c14:	03e00008 	jr	ra
  400c18:	27bd0020 	addiu	sp,sp,32

00400c1c <frame_dummy>:
  400c1c:	3c1c0fc0 	lui	gp,0xfc0
  400c20:	279c7814 	addiu	gp,gp,30740
  400c24:	0399e021 	addu	gp,gp,t9
  400c28:	27bdffe0 	addiu	sp,sp,-32
  400c2c:	afbc0010 	sw	gp,16(sp)
  400c30:	8f828030 	lw	v0,-32720(gp)
  400c34:	afbf001c 	sw	ra,28(sp)
  400c38:	8f84801c 	lw	a0,-32740(gp)
  400c3c:	00000000 	nop
  400c40:	24840424 	addiu	a0,a0,1060
  400c44:	8f85801c 	lw	a1,-32740(gp)
  400c48:	00000000 	nop
  400c4c:	24a504e4 	addiu	a1,a1,1252
  400c50:	10400006 	beqz	v0,400c6c <frame_dummy+0x50>
  400c54:	afbc0018 	sw	gp,24(sp)
  400c58:	0040c821 	move	t9,v0
  400c5c:	0320f809 	jalr	t9
  400c60:	00000000 	nop
  400c64:	8fbc0010 	lw	gp,16(sp)
  400c68:	00000000 	nop
  400c6c:	8f82801c 	lw	v0,-32740(gp)
  400c70:	00000000 	nop
  400c74:	24420438 	addiu	v0,v0,1080
  400c78:	8c420000 	lw	v0,0(v0)
  400c7c:	00000000 	nop
  400c80:	1040000b 	beqz	v0,400cb0 <frame_dummy+0x94>
  400c84:	00000000 	nop
  400c88:	8f828034 	lw	v0,-32716(gp)
  400c8c:	8f84801c 	lw	a0,-32740(gp)
  400c90:	00000000 	nop
  400c94:	24840438 	addiu	a0,a0,1080
  400c98:	10400005 	beqz	v0,400cb0 <frame_dummy+0x94>
  400c9c:	00000000 	nop
  400ca0:	0040c821 	move	t9,v0
  400ca4:	0320f809 	jalr	t9
  400ca8:	00000000 	nop
  400cac:	8fbc0010 	lw	gp,16(sp)
  400cb0:	8fbf001c 	lw	ra,28(sp)
  400cb4:	00000000 	nop
  400cb8:	03e00008 	jr	ra
  400cbc:	27bd0020 	addiu	sp,sp,32

00400cc0 <tr_ds>:
 * Delete all characters in string1.
 * Squeeze all characters in string2.
 */
void tr_ds(set1, set2)
	char* set1;char* set2; {
  400cc0:	3c1c0fc0 	lui	gp,0xfc0
  400cc4:	279c7770 	addiu	gp,gp,30576
  400cc8:	0399e021 	addu	gp,gp,t9
  400ccc:	27bdffd0 	addiu	sp,sp,-48
  400cd0:	afbc0010 	sw	gp,16(sp)
  400cd4:	afbf0028 	sw	ra,40(sp)
  400cd8:	afbe0024 	sw	s8,36(sp)
  400cdc:	afbc0020 	sw	gp,32(sp)
  400ce0:	03a0f021 	move	s8,sp
  400ce4:	afc40030 	sw	a0,48(s8)
  400ce8:	afc50034 	sw	a1,52(s8)
	int lastch, ch;

	setup(map1, set1, 0);
  400cec:	8f84801c 	lw	a0,-32740(gp)
  400cf0:	00000000 	nop
  400cf4:	24840020 	addiu	a0,a0,32
  400cf8:	8fc50030 	lw	a1,48(s8)
  400cfc:	00003021 	move	a2,zero
  400d00:	8f998018 	lw	t9,-32744(gp)
  400d04:	00000000 	nop
  400d08:	273913ac 	addiu	t9,t9,5036
  400d0c:	00000000 	nop
  400d10:	0320f809 	jalr	t9
  400d14:	00000000 	nop
  400d18:	8fdc0010 	lw	gp,16(s8)
  400d1c:	00000000 	nop
	setup(map2, set2, 0);
  400d20:	8f84801c 	lw	a0,-32740(gp)
  400d24:	00000000 	nop
  400d28:	24840500 	addiu	a0,a0,1280
  400d2c:	8fc50034 	lw	a1,52(s8)
  400d30:	00003021 	move	a2,zero
  400d34:	8f998018 	lw	t9,-32744(gp)
  400d38:	00000000 	nop
  400d3c:	273913ac 	addiu	t9,t9,5036
  400d40:	00000000 	nop
  400d44:	0320f809 	jalr	t9
  400d48:	00000000 	nop
  400d4c:	8fdc0010 	lw	gp,16(s8)

	for (lastch = OOBCH; (ch = mygetchar()) != EOF;)
  400d50:	24020100 	li	v0,256
  400d54:	afc20018 	sw	v0,24(s8)
  400d58:	8f998018 	lw	t9,-32744(gp)
  400d5c:	00000000 	nop
  400d60:	2739167c 	addiu	t9,t9,5756
  400d64:	00000000 	nop
  400d68:	0320f809 	jalr	t9
  400d6c:	00000000 	nop
  400d70:	8fdc0010 	lw	gp,16(s8)
  400d74:	afc2001c 	sw	v0,28(s8)
  400d78:	8fc3001c 	lw	v1,28(s8)
  400d7c:	2402ffff 	li	v0,-1
  400d80:	14620003 	bne	v1,v0,400d90 <tr_ds+0xd0>
  400d84:	00000000 	nop
  400d88:	1000002f 	b	400e48 <tr_ds+0x188>
  400d8c:	00000000 	nop
		if (!map1[ch] && (!map2[ch] || lastch != ch)) {
  400d90:	8fc2001c 	lw	v0,28(s8)
  400d94:	00000000 	nop
  400d98:	00021880 	sll	v1,v0,0x2
  400d9c:	8f82801c 	lw	v0,-32740(gp)
  400da0:	00000000 	nop
  400da4:	24420020 	addiu	v0,v0,32
  400da8:	00000000 	nop
  400dac:	00621021 	addu	v0,v1,v0
  400db0:	8c420000 	lw	v0,0(v0)
  400db4:	00000000 	nop
  400db8:	1440ffe7 	bnez	v0,400d58 <tr_ds+0x98>
  400dbc:	00000000 	nop
  400dc0:	8fc2001c 	lw	v0,28(s8)
  400dc4:	00000000 	nop
  400dc8:	00021880 	sll	v1,v0,0x2
  400dcc:	8f82801c 	lw	v0,-32740(gp)
  400dd0:	00000000 	nop
  400dd4:	24420500 	addiu	v0,v0,1280
  400dd8:	00000000 	nop
  400ddc:	00621021 	addu	v0,v1,v0
  400de0:	8c420000 	lw	v0,0(v0)
  400de4:	00000000 	nop
  400de8:	10400008 	beqz	v0,400e0c <tr_ds+0x14c>
  400dec:	00000000 	nop
  400df0:	8fc30018 	lw	v1,24(s8)
  400df4:	8fc2001c 	lw	v0,28(s8)
  400df8:	00000000 	nop
  400dfc:	14620003 	bne	v1,v0,400e0c <tr_ds+0x14c>
  400e00:	00000000 	nop
  400e04:	1000ffd4 	b	400d58 <tr_ds+0x98>
  400e08:	00000000 	nop
			lastch = ch;
  400e0c:	8fc2001c 	lw	v0,28(s8)
  400e10:	00000000 	nop
  400e14:	afc20018 	sw	v0,24(s8)
			myputchar(ch);
  400e18:	83c2001c 	lb	v0,28(s8)
  400e1c:	00000000 	nop
  400e20:	00402021 	move	a0,v0
  400e24:	8f998018 	lw	t9,-32744(gp)
  400e28:	00000000 	nop
  400e2c:	273915d4 	addiu	t9,t9,5588
  400e30:	00000000 	nop
  400e34:	0320f809 	jalr	t9
  400e38:	00000000 	nop
  400e3c:	8fdc0010 	lw	gp,16(s8)
  400e40:	1000ffc5 	b	400d58 <tr_ds+0x98>
  400e44:	00000000 	nop
		}
}
  400e48:	03c0e821 	move	sp,s8
  400e4c:	8fbf0028 	lw	ra,40(sp)
  400e50:	8fbe0024 	lw	s8,36(sp)
  400e54:	03e00008 	jr	ra
  400e58:	27bd0030 	addiu	sp,sp,48

00400e5c <tr_d>:

/*
 * tr -d string1
 * Delete all characters in string1.
 */
void tr_d(set1)
	char* set1; {
  400e5c:	3c1c0fc0 	lui	gp,0xfc0
  400e60:	279c75d4 	addiu	gp,gp,30164
  400e64:	0399e021 	addu	gp,gp,t9
  400e68:	27bdffd0 	addiu	sp,sp,-48
  400e6c:	afbc0010 	sw	gp,16(sp)
  400e70:	afbf0028 	sw	ra,40(sp)
  400e74:	afbe0024 	sw	s8,36(sp)
  400e78:	afbc0020 	sw	gp,32(sp)
  400e7c:	03a0f021 	move	s8,sp
  400e80:	afc40030 	sw	a0,48(s8)
	int ch;

	setup(map1, set1, 0);
  400e84:	8f84801c 	lw	a0,-32740(gp)
  400e88:	00000000 	nop
  400e8c:	24840020 	addiu	a0,a0,32
  400e90:	8fc50030 	lw	a1,48(s8)
  400e94:	00003021 	move	a2,zero
  400e98:	8f998018 	lw	t9,-32744(gp)
  400e9c:	00000000 	nop
  400ea0:	273913ac 	addiu	t9,t9,5036
  400ea4:	00000000 	nop
  400ea8:	0320f809 	jalr	t9
  400eac:	00000000 	nop
  400eb0:	8fdc0010 	lw	gp,16(s8)
  400eb4:	00000000 	nop

	while ((ch = mygetchar()) != EOF)
  400eb8:	8f998018 	lw	t9,-32744(gp)
  400ebc:	00000000 	nop
  400ec0:	2739167c 	addiu	t9,t9,5756
  400ec4:	00000000 	nop
  400ec8:	0320f809 	jalr	t9
  400ecc:	00000000 	nop
  400ed0:	8fdc0010 	lw	gp,16(s8)
  400ed4:	afc20018 	sw	v0,24(s8)
  400ed8:	8fc30018 	lw	v1,24(s8)
  400edc:	2402ffff 	li	v0,-1
  400ee0:	14620003 	bne	v1,v0,400ef0 <tr_d+0x94>
  400ee4:	00000000 	nop
  400ee8:	10000019 	b	400f50 <tr_d+0xf4>
  400eec:	00000000 	nop
		if (!map1[ch])
  400ef0:	8fc20018 	lw	v0,24(s8)
  400ef4:	00000000 	nop
  400ef8:	00021880 	sll	v1,v0,0x2
  400efc:	8f82801c 	lw	v0,-32740(gp)
  400f00:	00000000 	nop
  400f04:	24420020 	addiu	v0,v0,32
  400f08:	00000000 	nop
  400f0c:	00621021 	addu	v0,v1,v0
  400f10:	8c420000 	lw	v0,0(v0)
  400f14:	00000000 	nop
  400f18:	1440ffe7 	bnez	v0,400eb8 <tr_d+0x5c>
  400f1c:	00000000 	nop
			myputchar(ch);
  400f20:	83c20018 	lb	v0,24(s8)
  400f24:	00000000 	nop
  400f28:	00402021 	move	a0,v0
  400f2c:	8f998018 	lw	t9,-32744(gp)
  400f30:	00000000 	nop
  400f34:	273915d4 	addiu	t9,t9,5588
  400f38:	00000000 	nop
  400f3c:	0320f809 	jalr	t9
  400f40:	00000000 	nop
  400f44:	8fdc0010 	lw	gp,16(s8)
  400f48:	1000ffdb 	b	400eb8 <tr_d+0x5c>
  400f4c:	00000000 	nop
}
  400f50:	03c0e821 	move	sp,s8
  400f54:	8fbf0028 	lw	ra,40(sp)
  400f58:	8fbe0024 	lw	s8,36(sp)
  400f5c:	03e00008 	jr	ra
  400f60:	27bd0030 	addiu	sp,sp,48

00400f64 <tr_s1>:

/*
 * tr -s string1
 * Squeeze all characters in string1.
 */
void tr_s1(set1)
	char* set1; {
  400f64:	3c1c0fc0 	lui	gp,0xfc0
  400f68:	279c74cc 	addiu	gp,gp,29900
  400f6c:	0399e021 	addu	gp,gp,t9
  400f70:	27bdffd0 	addiu	sp,sp,-48
  400f74:	afbc0010 	sw	gp,16(sp)
  400f78:	afbf0028 	sw	ra,40(sp)
  400f7c:	afbe0024 	sw	s8,36(sp)
  400f80:	afbc0020 	sw	gp,32(sp)
  400f84:	03a0f021 	move	s8,sp
  400f88:	afc40030 	sw	a0,48(s8)
	int lastch, ch;

	setup(map1, set1, 0);
  400f8c:	8f84801c 	lw	a0,-32740(gp)
  400f90:	00000000 	nop
  400f94:	24840020 	addiu	a0,a0,32
  400f98:	8fc50030 	lw	a1,48(s8)
  400f9c:	00003021 	move	a2,zero
  400fa0:	8f998018 	lw	t9,-32744(gp)
  400fa4:	00000000 	nop
  400fa8:	273913ac 	addiu	t9,t9,5036
  400fac:	00000000 	nop
  400fb0:	0320f809 	jalr	t9
  400fb4:	00000000 	nop
  400fb8:	8fdc0010 	lw	gp,16(s8)

	for (lastch = OOBCH; (ch = mygetchar()) != EOF;)
  400fbc:	24020100 	li	v0,256
  400fc0:	afc20018 	sw	v0,24(s8)
  400fc4:	8f998018 	lw	t9,-32744(gp)
  400fc8:	00000000 	nop
  400fcc:	2739167c 	addiu	t9,t9,5756
  400fd0:	00000000 	nop
  400fd4:	0320f809 	jalr	t9
  400fd8:	00000000 	nop
  400fdc:	8fdc0010 	lw	gp,16(s8)
  400fe0:	afc2001c 	sw	v0,28(s8)
  400fe4:	8fc3001c 	lw	v1,28(s8)
  400fe8:	2402ffff 	li	v0,-1
  400fec:	14620003 	bne	v1,v0,400ffc <tr_s1+0x98>
  400ff0:	00000000 	nop
  400ff4:	10000023 	b	401084 <tr_s1+0x120>
  400ff8:	00000000 	nop
		if (!map1[ch] || lastch != ch) {
  400ffc:	8fc2001c 	lw	v0,28(s8)
  401000:	00000000 	nop
  401004:	00021880 	sll	v1,v0,0x2
  401008:	8f82801c 	lw	v0,-32740(gp)
  40100c:	00000000 	nop
  401010:	24420020 	addiu	v0,v0,32
  401014:	00000000 	nop
  401018:	00621021 	addu	v0,v1,v0
  40101c:	8c420000 	lw	v0,0(v0)
  401020:	00000000 	nop
  401024:	10400008 	beqz	v0,401048 <tr_s1+0xe4>
  401028:	00000000 	nop
  40102c:	8fc30018 	lw	v1,24(s8)
  401030:	8fc2001c 	lw	v0,28(s8)
  401034:	00000000 	nop
  401038:	14620003 	bne	v1,v0,401048 <tr_s1+0xe4>
  40103c:	00000000 	nop
  401040:	1000ffe0 	b	400fc4 <tr_s1+0x60>
  401044:	00000000 	nop
			lastch = ch;
  401048:	8fc2001c 	lw	v0,28(s8)
  40104c:	00000000 	nop
  401050:	afc20018 	sw	v0,24(s8)
			myputchar(ch);
  401054:	83c2001c 	lb	v0,28(s8)
  401058:	00000000 	nop
  40105c:	00402021 	move	a0,v0
  401060:	8f998018 	lw	t9,-32744(gp)
  401064:	00000000 	nop
  401068:	273915d4 	addiu	t9,t9,5588
  40106c:	00000000 	nop
  401070:	0320f809 	jalr	t9
  401074:	00000000 	nop
  401078:	8fdc0010 	lw	gp,16(s8)
  40107c:	1000ffd1 	b	400fc4 <tr_s1+0x60>
  401080:	00000000 	nop
		}
}
  401084:	03c0e821 	move	sp,s8
  401088:	8fbf0028 	lw	ra,40(sp)
  40108c:	8fbe0024 	lw	s8,36(sp)
  401090:	03e00008 	jr	ra
  401094:	27bd0030 	addiu	sp,sp,48

00401098 <tr_s2>:

/*
 * tr [-s] string1 string2
 * Replace all characters in string1 with
 * the character in the same position in string2.  If the -s option is
 * specified, squeeze all the characters in string2.
 */
void tr_s2(set1, set2)
	char* set1;char* set2; {
  401098:	3c1c0fc0 	lui	gp,0xfc0
  40109c:	279c7398 	addiu	gp,gp,29592
  4010a0:	0399e021 	addu	gp,gp,t9
  4010a4:	27bdffd0 	addiu	sp,sp,-48
  4010a8:	afbc0010 	sw	gp,16(sp)
  4010ac:	afbf0028 	sw	ra,40(sp)
  4010b0:	afbe0024 	sw	s8,36(sp)
  4010b4:	afbc0020 	sw	gp,32(sp)
  4010b8:	03a0f021 	move	s8,sp
  4010bc:	afc40030 	sw	a0,48(s8)
  4010c0:	afc50034 	sw	a1,52(s8)
	int lastch, ch;

	if (!*set2)
  4010c4:	8fc20034 	lw	v0,52(s8)
  4010c8:	00000000 	nop
  4010cc:	80420000 	lb	v0,0(v0)
  4010d0:	00000000 	nop
  4010d4:	1440000b 	bnez	v0,401104 <tr_s2+0x6c>
  4010d8:	00000000 	nop
		errx(1, "empty set2");
  4010dc:	24040001 	li	a0,1
  4010e0:	8f858018 	lw	a1,-32744(gp)
  4010e4:	00000000 	nop
  4010e8:	24a51f80 	addiu	a1,a1,8064
  4010ec:	8f99808c 	lw	t9,-32628(gp)
  4010f0:	00000000 	nop
  4010f4:	0320f809 	jalr	t9
  4010f8:	00000000 	nop
  4010fc:	8fdc0010 	lw	gp,16(s8)
  401100:	00000000 	nop

	/* If string2 runs out of characters, use the last one specified. */
	setup(map1, set1, set2);
  401104:	8f84801c 	lw	a0,-32740(gp)
  401108:	00000000 	nop
  40110c:	24840020 	addiu	a0,a0,32
  401110:	8fc50030 	lw	a1,48(s8)
  401114:	8fc60034 	lw	a2,52(s8)
  401118:	8f998018 	lw	t9,-32744(gp)
  40111c:	00000000 	nop
  401120:	273913ac 	addiu	t9,t9,5036
  401124:	00000000 	nop
  401128:	0320f809 	jalr	t9
  40112c:	00000000 	nop
  401130:	8fdc0010 	lw	gp,16(s8)
  401134:	00000000 	nop

	setup(map2, set2, 0);
  401138:	8f84801c 	lw	a0,-32740(gp)
  40113c:	00000000 	nop
  401140:	24840500 	addiu	a0,a0,1280
  401144:	8fc50034 	lw	a1,52(s8)
  401148:	00003021 	move	a2,zero
  40114c:	8f998018 	lw	t9,-32744(gp)
  401150:	00000000 	nop
  401154:	273913ac 	addiu	t9,t9,5036
  401158:	00000000 	nop
  40115c:	0320f809 	jalr	t9
  401160:	00000000 	nop
  401164:	8fdc0010 	lw	gp,16(s8)

	for (lastch = OOBCH; (ch = mygetchar()) != EOF;) {
  401168:	24020100 	li	v0,256
  40116c:	afc20018 	sw	v0,24(s8)
  401170:	8f998018 	lw	t9,-32744(gp)
  401174:	00000000 	nop
  401178:	2739167c 	addiu	t9,t9,5756
  40117c:	00000000 	nop
  401180:	0320f809 	jalr	t9
  401184:	00000000 	nop
  401188:	8fdc0010 	lw	gp,16(s8)
  40118c:	afc2001c 	sw	v0,28(s8)
  401190:	8fc3001c 	lw	v1,28(s8)
  401194:	2402ffff 	li	v0,-1
  401198:	14620003 	bne	v1,v0,4011a8 <tr_s2+0x110>
  40119c:	00000000 	nop
  4011a0:	1000002e 	b	40125c <tr_s2+0x1c4>
  4011a4:	00000000 	nop
		ch = map1[ch];
  4011a8:	8fc2001c 	lw	v0,28(s8)
  4011ac:	00000000 	nop
  4011b0:	00021880 	sll	v1,v0,0x2
  4011b4:	8f82801c 	lw	v0,-32740(gp)
  4011b8:	00000000 	nop
  4011bc:	24420020 	addiu	v0,v0,32
  4011c0:	00000000 	nop
  4011c4:	00621021 	addu	v0,v1,v0
  4011c8:	8c420000 	lw	v0,0(v0)
  4011cc:	00000000 	nop
  4011d0:	afc2001c 	sw	v0,28(s8)
		if (!map2[ch] || lastch != ch) {
  4011d4:	8fc2001c 	lw	v0,28(s8)
  4011d8:	00000000 	nop
  4011dc:	00021880 	sll	v1,v0,0x2
  4011e0:	8f82801c 	lw	v0,-32740(gp)
  4011e4:	00000000 	nop
  4011e8:	24420500 	addiu	v0,v0,1280
  4011ec:	00000000 	nop
  4011f0:	00621021 	addu	v0,v1,v0
  4011f4:	8c420000 	lw	v0,0(v0)
  4011f8:	00000000 	nop
  4011fc:	10400008 	beqz	v0,401220 <tr_s2+0x188>
  401200:	00000000 	nop
  401204:	8fc30018 	lw	v1,24(s8)
  401208:	8fc2001c 	lw	v0,28(s8)
  40120c:	00000000 	nop
  401210:	14620003 	bne	v1,v0,401220 <tr_s2+0x188>
  401214:	00000000 	nop
  401218:	1000ffd5 	b	401170 <tr_s2+0xd8>
  40121c:	00000000 	nop
			lastch = ch;
  401220:	8fc2001c 	lw	v0,28(s8)
  401224:	00000000 	nop
  401228:	afc20018 	sw	v0,24(s8)
			myputchar(ch);
  40122c:	83c2001c 	lb	v0,28(s8)
  401230:	00000000 	nop
  401234:	00402021 	move	a0,v0
  401238:	8f998018 	lw	t9,-32744(gp)
  40123c:	00000000 	nop
  401240:	273915d4 	addiu	t9,t9,5588
  401244:	00000000 	nop
  401248:	0320f809 	jalr	t9
  40124c:	00000000 	nop
  401250:	8fdc0010 	lw	gp,16(s8)
  401254:	1000ffc6 	b	401170 <tr_s2+0xd8>
  401258:	00000000 	nop
		}
	}
}
  40125c:	03c0e821 	move	sp,s8
  401260:	8fbf0028 	lw	ra,40(sp)
  401264:	8fbe0024 	lw	s8,36(sp)
  401268:	03e00008 	jr	ra
  40126c:	27bd0030 	addiu	sp,sp,48

00401270 <tr>:

void tr(set1, set2)
	char* set1;char* set2; {
  401270:	3c1c0fc0 	lui	gp,0xfc0
  401274:	279c71c0 	addiu	gp,gp,29120
  401278:	0399e021 	addu	gp,gp,t9
  40127c:	27bdffd0 	addiu	sp,sp,-48
  401280:	afbc0010 	sw	gp,16(sp)
  401284:	afbf0028 	sw	ra,40(sp)
  401288:	afbe0024 	sw	s8,36(sp)
  40128c:	afbc0020 	sw	gp,32(sp)
  401290:	03a0f021 	move	s8,sp
  401294:	afc40030 	sw	a0,48(s8)
  401298:	afc50034 	sw	a1,52(s8)
	int ch;

	if (!*set2)
  40129c:	8fc20034 	lw	v0,52(s8)
  4012a0:	00000000 	nop
  4012a4:	80420000 	lb	v0,0(v0)
  4012a8:	00000000 	nop
  4012ac:	1440000b 	bnez	v0,4012dc <tr+0x6c>
  4012b0:	00000000 	nop
		errx(1, "empty set2");
  4012b4:	24040001 	li	a0,1
  4012b8:	8f858018 	lw	a1,-32744(gp)
  4012bc:	00000000 	nop
  4012c0:	24a51f80 	addiu	a1,a1,8064
  4012c4:	8f99808c 	lw	t9,-32628(gp)
  4012c8:	00000000 	nop
  4012cc:	0320f809 	jalr	t9
  4012d0:	00000000 	nop
  4012d4:	8fdc0010 	lw	gp,16(s8)
  4012d8:	00000000 	nop

	/* If string2 runs out of characters, use the last one specified. */
	setup(map1, set1, set2);
  4012dc:	8f84801c 	lw	a0,-32740(gp)
  4012e0:	00000000 	nop
  4012e4:	24840020 	addiu	a0,a0,32
  4012e8:	8fc50030 	lw	a1,48(s8)
  4012ec:	8fc60034 	lw	a2,52(s8)
  4012f0:	8f998018 	lw	t9,-32744(gp)
  4012f4:	00000000 	nop
  4012f8:	273913ac 	addiu	t9,t9,5036
  4012fc:	00000000 	nop
  401300:	0320f809 	jalr	t9
  401304:	00000000 	nop
  401308:	8fdc0010 	lw	gp,16(s8)
  40130c:	00000000 	nop

	while ((ch = mygetchar()) != EOF)
  401310:	8f998018 	lw	t9,-32744(gp)
  401314:	00000000 	nop
  401318:	2739167c 	addiu	t9,t9,5756
  40131c:	00000000 	nop
  401320:	0320f809 	jalr	t9
  401324:	00000000 	nop
  401328:	8fdc0010 	lw	gp,16(s8)
  40132c:	afc20018 	sw	v0,24(s8)
  401330:	8fc30018 	lw	v1,24(s8)
  401334:	2402ffff 	li	v0,-1
  401338:	14620003 	bne	v1,v0,401348 <tr+0xd8>
  40133c:	00000000 	nop
  401340:	10000015 	b	401398 <tr+0x128>
  401344:	00000000 	nop
		myputchar(map1[ch]);
  401348:	8fc20018 	lw	v0,24(s8)
  40134c:	00000000 	nop
  401350:	00021880 	sll	v1,v0,0x2
  401354:	8f82801c 	lw	v0,-32740(gp)
  401358:	00000000 	nop
  40135c:	24420020 	addiu	v0,v0,32
  401360:	00000000 	nop
  401364:	00621021 	addu	v0,v1,v0
  401368:	80420000 	lb	v0,0(v0)
  40136c:	00000000 	nop
  401370:	00402021 	move	a0,v0
  401374:	8f998018 	lw	t9,-32744(gp)
  401378:	00000000 	nop
  40137c:	273915d4 	addiu	t9,t9,5588
  401380:	00000000 	nop
  401384:	0320f809 	jalr	t9
  401388:	00000000 	nop
  40138c:	8fdc0010 	lw	gp,16(s8)
  401390:	1000ffdf 	b	401310 <tr+0xa0>
  401394:	00000000 	nop
}
  401398:	03c0e821 	move	sp,s8
  40139c:	8fbf0028 	lw	ra,40(sp)
  4013a0:	8fbe0024 	lw	s8,36(sp)
  4013a4:	03e00008 	jr	ra
  4013a8:	27bd0030 	addiu	sp,sp,48

004013ac <setup>:

static void setup(map, set1, set2)
	int *map;char *set1;char *set2; {
  4013ac:	3c1c0fc0 	lui	gp,0xfc0
  4013b0:	279c7084 	addiu	gp,gp,28804
  4013b4:	0399e021 	addu	gp,gp,t9
  4013b8:	27bdffd0 	addiu	sp,sp,-48
  4013bc:	afbc0010 	sw	gp,16(sp)
  4013c0:	afbf0028 	sw	ra,40(sp)
  4013c4:	afbe0024 	sw	s8,36(sp)
  4013c8:	afbc0020 	sw	gp,32(sp)
  4013cc:	03a0f021 	move	s8,sp
  4013d0:	afc40030 	sw	a0,48(s8)
  4013d4:	afc50034 	sw	a1,52(s8)
  4013d8:	afc60038 	sw	a2,56(s8)
	char lastch;

	if (!set1)
  4013dc:	8fc20034 	lw	v0,52(s8)
  4013e0:	00000000 	nop
  4013e4:	14400010 	bnez	v0,401428 <setup+0x7c>
  4013e8:	00000000 	nop
		assert(0);
  4013ec:	8f848018 	lw	a0,-32744(gp)
  4013f0:	00000000 	nop
  4013f4:	24841f8c 	addiu	a0,a0,8076
  4013f8:	2405008d 	li	a1,141
  4013fc:	8f868018 	lw	a2,-32744(gp)
  401400:	00000000 	nop
  401404:	24c61f94 	addiu	a2,a2,8084
  401408:	8f878018 	lw	a3,-32744(gp)
  40140c:	00000000 	nop
  401410:	24e71f9c 	addiu	a3,a3,8092
  401414:	8f99802c 	lw	t9,-32724(gp)
  401418:	00000000 	nop
  40141c:	0320f809 	jalr	t9
  401420:	00000000 	nop
  401424:	8fdc0010 	lw	gp,16(s8)

	if (!set2) {
  401428:	8fc20038 	lw	v0,56(s8)
  40142c:	00000000 	nop
  401430:	14400020 	bnez	v0,4014b4 <setup+0x108>
  401434:	00000000 	nop
		memset(map, 0, NCHARS * sizeof(int));
  401438:	8fc40030 	lw	a0,48(s8)
  40143c:	00002821 	move	a1,zero
  401440:	24060400 	li	a2,1024
  401444:	8f998054 	lw	t9,-32684(gp)
  401448:	00000000 	nop
  40144c:	0320f809 	jalr	t9
  401450:	00000000 	nop
  401454:	8fdc0010 	lw	gp,16(s8)
		while (*set1)
  401458:	8fc20034 	lw	v0,52(s8)
  40145c:	00000000 	nop
  401460:	80420000 	lb	v0,0(v0)
  401464:	00000000 	nop
  401468:	14400003 	bnez	v0,401478 <setup+0xcc>
  40146c:	00000000 	nop
  401470:	10000053 	b	4015c0 <setup+0x214>
  401474:	00000000 	nop
			map[(unsigned char) *set1++] = 1;
  401478:	27c50034 	addiu	a1,s8,52
  40147c:	8ca30000 	lw	v1,0(a1)
  401480:	00000000 	nop
  401484:	00601021 	move	v0,v1
  401488:	90420000 	lbu	v0,0(v0)
  40148c:	00000000 	nop
  401490:	00022080 	sll	a0,v0,0x2
  401494:	8fc20030 	lw	v0,48(s8)
  401498:	00000000 	nop
  40149c:	00822021 	addu	a0,a0,v0
  4014a0:	24020001 	li	v0,1
  4014a4:	ac820000 	sw	v0,0(a0)
  4014a8:	24630001 	addiu	v1,v1,1
  4014ac:	1000ffea 	b	401458 <setup+0xac>
  4014b0:	aca30000 	sw	v1,0(a1)
		return;
  4014b4:	00000000 	nop
	}

	// set2 not empty => translate	
	while (*set1 && *set2)
  4014b8:	8fc20034 	lw	v0,52(s8)
  4014bc:	00000000 	nop
  4014c0:	80420000 	lb	v0,0(v0)
  4014c4:	00000000 	nop
  4014c8:	1040001f 	beqz	v0,401548 <setup+0x19c>
  4014cc:	00000000 	nop
  4014d0:	8fc20038 	lw	v0,56(s8)
  4014d4:	00000000 	nop
  4014d8:	80420000 	lb	v0,0(v0)
  4014dc:	00000000 	nop
  4014e0:	14400003 	bnez	v0,4014f0 <setup+0x144>
  4014e4:	00000000 	nop
  4014e8:	10000017 	b	401548 <setup+0x19c>
  4014ec:	00000000 	nop
		map[(unsigned char) *set1++] = *set2++;
  4014f0:	27c70034 	addiu	a3,s8,52
  4014f4:	8ce40000 	lw	a0,0(a3)
  4014f8:	00000000 	nop
  4014fc:	00801021 	move	v0,a0
  401500:	90420000 	lbu	v0,0(v0)
  401504:	00000000 	nop
  401508:	00021880 	sll	v1,v0,0x2
  40150c:	8fc20030 	lw	v0,48(s8)
  401510:	00000000 	nop
  401514:	00623021 	addu	a2,v1,v0
  401518:	27c50038 	addiu	a1,s8,56
  40151c:	8ca20000 	lw	v0,0(a1)
  401520:	00000000 	nop
  401524:	00401821 	move	v1,v0
  401528:	80630000 	lb	v1,0(v1)
  40152c:	00000000 	nop
  401530:	acc30000 	sw	v1,0(a2)
  401534:	24420001 	addiu	v0,v0,1
  401538:	aca20000 	sw	v0,0(a1)
  40153c:	24840001 	addiu	a0,a0,1
  401540:	1000ffdd 	b	4014b8 <setup+0x10c>
  401544:	ace40000 	sw	a0,0(a3)

	// set1 longer that set2 => use last set2 char till set1's end
	lastch = *(set2 - 1);
  401548:	8fc20038 	lw	v0,56(s8)
  40154c:	00000000 	nop
  401550:	2442ffff 	addiu	v0,v0,-1
  401554:	90420000 	lbu	v0,0(v0)
  401558:	00000000 	nop
  40155c:	a3c20018 	sb	v0,24(s8)
	while (*set1)
  401560:	8fc20034 	lw	v0,52(s8)
  401564:	00000000 	nop
  401568:	80420000 	lb	v0,0(v0)
  40156c:	00000000 	nop
  401570:	14400003 	bnez	v0,401580 <setup+0x1d4>
  401574:	00000000 	nop
  401578:	10000011 	b	4015c0 <setup+0x214>
  40157c:	00000000 	nop
		map[(unsigned char) *set1++] = lastch;
  401580:	27c50034 	addiu	a1,s8,52
  401584:	8ca30000 	lw	v1,0(a1)
  401588:	00000000 	nop
  40158c:	00601021 	move	v0,v1
  401590:	90420000 	lbu	v0,0(v0)
  401594:	00000000 	nop
  401598:	00022080 	sll	a0,v0,0x2
  40159c:	8fc20030 	lw	v0,48(s8)
  4015a0:	00000000 	nop
  4015a4:	00822021 	addu	a0,a0,v0
  4015a8:	83c20018 	lb	v0,24(s8)
  4015ac:	00000000 	nop
  4015b0:	ac820000 	sw	v0,0(a0)
  4015b4:	24630001 	addiu	v1,v1,1
  4015b8:	1000ffe9 	b	401560 <setup+0x1b4>
  4015bc:	aca30000 	sw	v1,0(a1)
}
  4015c0:	03c0e821 	move	sp,s8
  4015c4:	8fbf0028 	lw	ra,40(sp)
  4015c8:	8fbe0024 	lw	s8,36(sp)
  4015cc:	03e00008 	jr	ra
  4015d0:	27bd0030 	addiu	sp,sp,48

004015d4 <myputchar>:

static void myputchar(ch)
	char ch; {
  4015d4:	3c1c0fc0 	lui	gp,0xfc0
  4015d8:	279c6e5c 	addiu	gp,gp,28252
  4015dc:	0399e021 	addu	gp,gp,t9
  4015e0:	27bdffd0 	addiu	sp,sp,-48
  4015e4:	afbc0010 	sw	gp,16(sp)
  4015e8:	afbf0028 	sw	ra,40(sp)
  4015ec:	afbe0024 	sw	s8,36(sp)
  4015f0:	afbc0020 	sw	gp,32(sp)
  4015f4:	03a0f021 	move	s8,sp
  4015f8:	00801021 	move	v0,a0
  4015fc:	a3c20018 	sb	v0,24(s8)
	if (putchar(ch) == EOF)
  401600:	83c20018 	lb	v0,24(s8)
  401604:	00000000 	nop
  401608:	00402021 	move	a0,v0
  40160c:	8f85805c 	lw	a1,-32676(gp)
  401610:	00000000 	nop
  401614:	24a50058 	addiu	a1,a1,88
  401618:	8f998018 	lw	t9,-32744(gp)
  40161c:	00000000 	nop
  401620:	27391780 	addiu	t9,t9,6016
  401624:	00000000 	nop
  401628:	0320f809 	jalr	t9
  40162c:	00000000 	nop
  401630:	8fdc0010 	lw	gp,16(s8)
  401634:	00401821 	move	v1,v0
  401638:	2402ffff 	li	v0,-1
  40163c:	1462000a 	bne	v1,v0,401668 <myputchar+0x94>
  401640:	00000000 	nop
		errx(1, "error writing to stdout");
  401644:	24040001 	li	a0,1
  401648:	8f858018 	lw	a1,-32744(gp)
  40164c:	00000000 	nop
  401650:	24a51fa0 	addiu	a1,a1,8096
  401654:	8f99808c 	lw	t9,-32628(gp)
  401658:	00000000 	nop
  40165c:	0320f809 	jalr	t9
  401660:	00000000 	nop
  401664:	8fdc0010 	lw	gp,16(s8)
}
  401668:	03c0e821 	move	sp,s8
  40166c:	8fbf0028 	lw	ra,40(sp)
  401670:	8fbe0024 	lw	s8,36(sp)
  401674:	03e00008 	jr	ra
  401678:	27bd0030 	addiu	sp,sp,48

0040167c <mygetchar>:

static int mygetchar() {
  40167c:	3c1c0fc0 	lui	gp,0xfc0
  401680:	279c6db4 	addiu	gp,gp,28084
  401684:	0399e021 	addu	gp,gp,t9
  401688:	27bdffd0 	addiu	sp,sp,-48
  40168c:	afbc0010 	sw	gp,16(sp)
  401690:	afbf0028 	sw	ra,40(sp)
  401694:	afbe0024 	sw	s8,36(sp)
  401698:	afbc0020 	sw	gp,32(sp)
  40169c:	03a0f021 	move	s8,sp
	int ch;
	if ((ch = getchar()) == EOF && ferror(stdin))
  4016a0:	8f82805c 	lw	v0,-32676(gp)
  4016a4:	00000000 	nop
  4016a8:	8c420004 	lw	v0,4(v0)
  4016ac:	00000000 	nop
  4016b0:	2442ffff 	addiu	v0,v0,-1
  4016b4:	8f81805c 	lw	at,-32676(gp)
  4016b8:	00000000 	nop
  4016bc:	04410009 	bgez	v0,4016e4 <mygetchar+0x68>
  4016c0:	ac220004 	sw	v0,4(at)
  4016c4:	8f84805c 	lw	a0,-32676(gp)
  4016c8:	8f998090 	lw	t9,-32624(gp)
  4016cc:	00000000 	nop
  4016d0:	0320f809 	jalr	t9
  4016d4:	00000000 	nop
  4016d8:	8fdc0010 	lw	gp,16(s8)
  4016dc:	1000000b 	b	40170c <mygetchar+0x90>
  4016e0:	afc2001c 	sw	v0,28(s8)
  4016e4:	8f82805c 	lw	v0,-32676(gp)
  4016e8:	00000000 	nop
  4016ec:	8c430000 	lw	v1,0(v0)
  4016f0:	00000000 	nop
  4016f4:	00602021 	move	a0,v1
  4016f8:	90840000 	lbu	a0,0(a0)
  4016fc:	00000000 	nop
  401700:	afc4001c 	sw	a0,28(s8)
  401704:	24630001 	addiu	v1,v1,1
  401708:	ac430000 	sw	v1,0(v0)
  40170c:	8fc3001c 	lw	v1,28(s8)
  401710:	00000000 	nop
  401714:	afc30018 	sw	v1,24(s8)
  401718:	2402ffff 	li	v0,-1
  40171c:	14620012 	bne	v1,v0,401768 <mygetchar+0xec>
  401720:	00000000 	nop
  401724:	8f82805c 	lw	v0,-32676(gp)
  401728:	00000000 	nop
  40172c:	9442000c 	lhu	v0,12(v0)
  401730:	00000000 	nop
  401734:	00021182 	srl	v0,v0,0x6
  401738:	30420001 	andi	v0,v0,0x1
  40173c:	1040000a 	beqz	v0,401768 <mygetchar+0xec>
  401740:	00000000 	nop
		errx(1, "error reading from stdin");
  401744:	24040001 	li	a0,1
  401748:	8f858018 	lw	a1,-32744(gp)
  40174c:	00000000 	nop
  401750:	24a51fb8 	addiu	a1,a1,8120
  401754:	8f99808c 	lw	t9,-32628(gp)
  401758:	00000000 	nop
  40175c:	0320f809 	jalr	t9
  401760:	00000000 	nop
  401764:	8fdc0010 	lw	gp,16(s8)
	return ch;
  401768:	8fc20018 	lw	v0,24(s8)
}
  40176c:	03c0e821 	move	sp,s8
  401770:	8fbf0028 	lw	ra,40(sp)
  401774:	8fbe0024 	lw	s8,36(sp)
  401778:	03e00008 	jr	ra
  40177c:	27bd0030 	addiu	sp,sp,48

00401780 <__sputc>:
 * define function versions in the C library.
 */
#define	__sgetc(p) (--(p)->_r < 0 ? __srget(p) : (int)(*(p)->_p++))
#if defined(__GNUC__) && defined(__STDC__)
static __inline int __sputc(int _c, FILE *_p) {
  401780:	3c1c0fc0 	lui	gp,0xfc0
  401784:	279c6cb0 	addiu	gp,gp,27824
  401788:	0399e021 	addu	gp,gp,t9
  40178c:	27bdffd0 	addiu	sp,sp,-48
  401790:	afbc0010 	sw	gp,16(sp)
  401794:	afbf0028 	sw	ra,40(sp)
  401798:	afbe0024 	sw	s8,36(sp)
  40179c:	afbc0020 	sw	gp,32(sp)
  4017a0:	03a0f021 	move	s8,sp
  4017a4:	afc40030 	sw	a0,48(s8)
  4017a8:	afc50034 	sw	a1,52(s8)
	if (--_p->_w >= 0 || (_p->_w >= _p->_lbfsize && (char)_c != '\n'))
  4017ac:	8fc30034 	lw	v1,52(s8)
  4017b0:	8fc20034 	lw	v0,52(s8)
  4017b4:	00000000 	nop
  4017b8:	8c420008 	lw	v0,8(v0)
  4017bc:	00000000 	nop
  4017c0:	2442ffff 	addiu	v0,v0,-1
  4017c4:	0441000f 	bgez	v0,401804 <__sputc+0x84>
  4017c8:	ac620008 	sw	v0,8(v1)
  4017cc:	8fc20034 	lw	v0,52(s8)
  4017d0:	8fc30034 	lw	v1,52(s8)
  4017d4:	8c440008 	lw	a0,8(v0)
  4017d8:	8c620018 	lw	v0,24(v1)
  4017dc:	00000000 	nop
  4017e0:	0082102a 	slt	v0,a0,v0
  4017e4:	14400012 	bnez	v0,401830 <__sputc+0xb0>
  4017e8:	00000000 	nop
  4017ec:	83c30030 	lb	v1,48(s8)
  4017f0:	2402000a 	li	v0,10
  4017f4:	14620003 	bne	v1,v0,401804 <__sputc+0x84>
  4017f8:	00000000 	nop
  4017fc:	1000000c 	b	401830 <__sputc+0xb0>
  401800:	00000000 	nop
		return (*_p->_p++ = _c);
  401804:	8fc50034 	lw	a1,52(s8)
  401808:	00000000 	nop
  40180c:	8ca30000 	lw	v1,0(a1)
  401810:	93c40030 	lbu	a0,48(s8)
  401814:	00601021 	move	v0,v1
  401818:	a0440000 	sb	a0,0(v0)
  40181c:	308200ff 	andi	v0,a0,0xff
  401820:	24630001 	addiu	v1,v1,1
  401824:	aca30000 	sw	v1,0(a1)
  401828:	10000009 	b	401850 <__sputc+0xd0>
  40182c:	afc20018 	sw	v0,24(s8)
	else
		return (__swbuf(_c, _p));
  401830:	8fc40030 	lw	a0,48(s8)
  401834:	8fc50034 	lw	a1,52(s8)
  401838:	8f99804c 	lw	t9,-32692(gp)
  40183c:	00000000 	nop
  401840:	0320f809 	jalr	t9
  401844:	00000000 	nop
  401848:	8fdc0010 	lw	gp,16(s8)
  40184c:	afc20018 	sw	v0,24(s8)
}
  401850:	8fc20018 	lw	v0,24(s8)
  401854:	03c0e821 	move	sp,s8
  401858:	8fbf0028 	lw	ra,40(sp)
  40185c:	8fbe0024 	lw	s8,36(sp)
  401860:	03e00008 	jr	ra
  401864:	27bd0030 	addiu	sp,sp,48
	...

00401870 <main>:
int
main(argc, argv)
	int argc;
	char **argv;
{
  401870:	3c1c0fc0 	lui	gp,0xfc0
  401874:	279c6bc0 	addiu	gp,gp,27584
  401878:	0399e021 	addu	gp,gp,t9
  40187c:	27bdffc0 	addiu	sp,sp,-64
  401880:	afbc0010 	sw	gp,16(sp)
  401884:	afbf0038 	sw	ra,56(sp)
  401888:	afbe0034 	sw	s8,52(sp)
  40188c:	afbc0030 	sw	gp,48(sp)
  401890:	03a0f021 	move	s8,sp
  401894:	afc40040 	sw	a0,64(s8)
  401898:	afc50044 	sw	a1,68(s8)
	int ch, dflag, sflag, isset2;

	dflag = sflag = 0;
  40189c:	afc00020 	sw	zero,32(s8)
  4018a0:	afc0001c 	sw	zero,28(s8)
	while ((ch = getopt(argc, argv, "ds")) != -1)
  4018a4:	8fc40040 	lw	a0,64(s8)
  4018a8:	8fc50044 	lw	a1,68(s8)
  4018ac:	8f868018 	lw	a2,-32744(gp)
  4018b0:	00000000 	nop
  4018b4:	24c61fe0 	addiu	a2,a2,8160
  4018b8:	8f998058 	lw	t9,-32680(gp)
  4018bc:	00000000 	nop
  4018c0:	0320f809 	jalr	t9
  4018c4:	00000000 	nop
  4018c8:	8fdc0010 	lw	gp,16(s8)
  4018cc:	afc20018 	sw	v0,24(s8)
  4018d0:	8fc30018 	lw	v1,24(s8)
  4018d4:	2402ffff 	li	v0,-1
  4018d8:	14620003 	bne	v1,v0,4018e8 <main+0x78>
  4018dc:	00000000 	nop
  4018e0:	10000026 	b	40197c <main+0x10c>
  4018e4:	00000000 	nop
		switch((char)ch) {
  4018e8:	83c20018 	lb	v0,24(s8)
  4018ec:	00000000 	nop
  4018f0:	afc20028 	sw	v0,40(s8)
  4018f4:	24020064 	li	v0,100
  4018f8:	8fc30028 	lw	v1,40(s8)
  4018fc:	00000000 	nop
  401900:	1062000f 	beq	v1,v0,401940 <main+0xd0>
  401904:	00000000 	nop
  401908:	8fc30028 	lw	v1,40(s8)
  40190c:	00000000 	nop
  401910:	28620065 	slti	v0,v1,101
  401914:	10400003 	beqz	v0,401924 <main+0xb4>
  401918:	00000000 	nop
  40191c:	1000000e 	b	401958 <main+0xe8>
  401920:	00000000 	nop
  401924:	24020073 	li	v0,115
  401928:	8fc30028 	lw	v1,40(s8)
  40192c:	00000000 	nop
  401930:	10620006 	beq	v1,v0,40194c <main+0xdc>
  401934:	00000000 	nop
  401938:	10000007 	b	401958 <main+0xe8>
  40193c:	00000000 	nop
		case 'd':
			dflag = 1;
  401940:	24020001 	li	v0,1
  401944:	1000ffd7 	b	4018a4 <main+0x34>
			break;
  401948:	afc2001c 	sw	v0,28(s8)
		case 's':
			sflag = 1;
  40194c:	24020001 	li	v0,1
  401950:	1000ffd4 	b	4018a4 <main+0x34>
			break;
  401954:	afc20020 	sw	v0,32(s8)
		case '?':
		default:
			usage();
  401958:	8f998018 	lw	t9,-32744(gp)
  40195c:	00000000 	nop
  401960:	27391c54 	addiu	t9,t9,7252
  401964:	00000000 	nop
  401968:	0320f809 	jalr	t9
  40196c:	00000000 	nop
  401970:	8fdc0010 	lw	gp,16(s8)
  401974:	1000ffcb 	b	4018a4 <main+0x34>
  401978:	00000000 	nop
		}
	argc -= optind;
  40197c:	8fc30040 	lw	v1,64(s8)
  401980:	8f828068 	lw	v0,-32664(gp)
  401984:	00000000 	nop
  401988:	8c420000 	lw	v0,0(v0)
  40198c:	00000000 	nop
  401990:	00621023 	subu	v0,v1,v0
  401994:	afc20040 	sw	v0,64(s8)
	argv += optind;
  401998:	8f828068 	lw	v0,-32664(gp)
  40199c:	00000000 	nop
  4019a0:	8c420000 	lw	v0,0(v0)
  4019a4:	00000000 	nop
  4019a8:	00021880 	sll	v1,v0,0x2
  4019ac:	8fc20044 	lw	v0,68(s8)
  4019b0:	00000000 	nop
  4019b4:	00431021 	addu	v0,v0,v1
  4019b8:	afc20044 	sw	v0,68(s8)

	switch(argc) {
  4019bc:	8fc20040 	lw	v0,64(s8)
  4019c0:	00000000 	nop
  4019c4:	afc2002c 	sw	v0,44(s8)
  4019c8:	24020001 	li	v0,1
  4019cc:	8fc3002c 	lw	v1,44(s8)
  4019d0:	00000000 	nop
  4019d4:	10620014 	beq	v1,v0,401a28 <main+0x1b8>
  4019d8:	00000000 	nop
  4019dc:	8fc3002c 	lw	v1,44(s8)
  4019e0:	00000000 	nop
  4019e4:	28620002 	slti	v0,v1,2
  4019e8:	10400003 	beqz	v0,4019f8 <main+0x188>
  4019ec:	00000000 	nop
  4019f0:	10000006 	b	401a0c <main+0x19c>
  4019f4:	00000000 	nop
  4019f8:	24020002 	li	v0,2
  4019fc:	8fc3002c 	lw	v1,44(s8)
  401a00:	00000000 	nop
  401a04:	1062000a 	beq	v1,v0,401a30 <main+0x1c0>
  401a08:	00000000 	nop
	case 0:
	default:
		usage();
  401a0c:	8f998018 	lw	t9,-32744(gp)
  401a10:	00000000 	nop
  401a14:	27391c54 	addiu	t9,t9,7252
  401a18:	00000000 	nop
  401a1c:	0320f809 	jalr	t9
  401a20:	00000000 	nop
  401a24:	8fdc0010 	lw	gp,16(s8)
		/* NOTREACHED */
	case 1:
		isset2 = 0;
  401a28:	10000003 	b	401a38 <main+0x1c8>
		break;
  401a2c:	afc00024 	sw	zero,36(s8)
	case 2:
		isset2 = 1;
  401a30:	24020001 	li	v0,1
  401a34:	afc20024 	sw	v0,36(s8)
		break;
	}


	if (dflag && sflag) {
  401a38:	8fc2001c 	lw	v0,28(s8)
  401a3c:	00000000 	nop
  401a40:	1040001d 	beqz	v0,401ab8 <main+0x248>
  401a44:	00000000 	nop
  401a48:	8fc20020 	lw	v0,32(s8)
  401a4c:	00000000 	nop
  401a50:	10400019 	beqz	v0,401ab8 <main+0x248>
  401a54:	00000000 	nop
		if (!isset2) usage();
  401a58:	8fc20024 	lw	v0,36(s8)
  401a5c:	00000000 	nop
  401a60:	14400008 	bnez	v0,401a84 <main+0x214>
  401a64:	00000000 	nop
  401a68:	8f998018 	lw	t9,-32744(gp)
  401a6c:	00000000 	nop
  401a70:	27391c54 	addiu	t9,t9,7252
  401a74:	00000000 	nop
  401a78:	0320f809 	jalr	t9
  401a7c:	00000000 	nop
  401a80:	8fdc0010 	lw	gp,16(s8)
		tr_ds(argv[0], argv[1]);
  401a84:	8fc20044 	lw	v0,68(s8)
  401a88:	8fc30044 	lw	v1,68(s8)
  401a8c:	00000000 	nop
  401a90:	24630004 	addiu	v1,v1,4
  401a94:	8c440000 	lw	a0,0(v0)
  401a98:	8c650000 	lw	a1,0(v1)
  401a9c:	8f998084 	lw	t9,-32636(gp)
  401aa0:	00000000 	nop
  401aa4:	0320f809 	jalr	t9
  401aa8:	00000000 	nop
  401aac:	8fdc0010 	lw	gp,16(s8)
  401ab0:	10000061 	b	401c38 <main+0x3c8>
  401ab4:	00000000 	nop
	}
	else if (dflag) {
  401ab8:	8fc2001c 	lw	v0,28(s8)
  401abc:	00000000 	nop
  401ac0:	10400016 	beqz	v0,401b1c <main+0x2ac>
  401ac4:	00000000 	nop
		if (isset2) usage();
  401ac8:	8fc20024 	lw	v0,36(s8)
  401acc:	00000000 	nop
  401ad0:	10400008 	beqz	v0,401af4 <main+0x284>
  401ad4:	00000000 	nop
  401ad8:	8f998018 	lw	t9,-32744(gp)
  401adc:	00000000 	nop
  401ae0:	27391c54 	addiu	t9,t9,7252
  401ae4:	00000000 	nop
  401ae8:	0320f809 	jalr	t9
  401aec:	00000000 	nop
  401af0:	8fdc0010 	lw	gp,16(s8)
		tr_d(argv[0]);
  401af4:	8fc20044 	lw	v0,68(s8)
  401af8:	00000000 	nop
  401afc:	8c440000 	lw	a0,0(v0)
  401b00:	8f998070 	lw	t9,-32656(gp)
  401b04:	00000000 	nop
  401b08:	0320f809 	jalr	t9
  401b0c:	00000000 	nop
  401b10:	8fdc0010 	lw	gp,16(s8)
  401b14:	10000048 	b	401c38 <main+0x3c8>
  401b18:	00000000 	nop
	}
	else if (sflag && !isset2) {
  401b1c:	8fc20020 	lw	v0,32(s8)
  401b20:	00000000 	nop
  401b24:	1040000f 	beqz	v0,401b64 <main+0x2f4>
  401b28:	00000000 	nop
  401b2c:	8fc20024 	lw	v0,36(s8)
  401b30:	00000000 	nop
  401b34:	1440000b 	bnez	v0,401b64 <main+0x2f4>
  401b38:	00000000 	nop
		tr_s1(argv[0]);
  401b3c:	8fc20044 	lw	v0,68(s8)
  401b40:	00000000 	nop
  401b44:	8c440000 	lw	a0,0(v0)
  401b48:	8f99807c 	lw	t9,-32644(gp)
  401b4c:	00000000 	nop
  401b50:	0320f809 	jalr	t9
  401b54:	00000000 	nop
  401b58:	8fdc0010 	lw	gp,16(s8)
  401b5c:	10000036 	b	401c38 <main+0x3c8>
  401b60:	00000000 	nop
	}
	else if (sflag && isset2) {
  401b64:	8fc20020 	lw	v0,32(s8)
  401b68:	00000000 	nop
  401b6c:	10400012 	beqz	v0,401bb8 <main+0x348>
  401b70:	00000000 	nop
  401b74:	8fc20024 	lw	v0,36(s8)
  401b78:	00000000 	nop
  401b7c:	1040000e 	beqz	v0,401bb8 <main+0x348>
  401b80:	00000000 	nop
		tr_s2(argv[0], argv[1]);
  401b84:	8fc20044 	lw	v0,68(s8)
  401b88:	8fc30044 	lw	v1,68(s8)
  401b8c:	00000000 	nop
  401b90:	24630004 	addiu	v1,v1,4
  401b94:	8c440000 	lw	a0,0(v0)
  401b98:	8c650000 	lw	a1,0(v1)
  401b9c:	8f998080 	lw	t9,-32640(gp)
  401ba0:	00000000 	nop
  401ba4:	0320f809 	jalr	t9
  401ba8:	00000000 	nop
  401bac:	8fdc0010 	lw	gp,16(s8)
  401bb0:	10000021 	b	401c38 <main+0x3c8>
  401bb4:	00000000 	nop
	}
	else if (isset2) {
  401bb8:	8fc20024 	lw	v0,36(s8)
  401bbc:	00000000 	nop
  401bc0:	1040000e 	beqz	v0,401bfc <main+0x38c>
  401bc4:	00000000 	nop
		tr(argv[0], argv[1]);
  401bc8:	8fc20044 	lw	v0,68(s8)
  401bcc:	8fc30044 	lw	v1,68(s8)
  401bd0:	00000000 	nop
  401bd4:	24630004 	addiu	v1,v1,4
  401bd8:	8c440000 	lw	a0,0(v0)
  401bdc:	8c650000 	lw	a1,0(v1)
  401be0:	8f998064 	lw	t9,-32668(gp)
  401be4:	00000000 	nop
  401be8:	0320f809 	jalr	t9
  401bec:	00000000 	nop
  401bf0:	8fdc0010 	lw	gp,16(s8)
  401bf4:	10000010 	b	401c38 <main+0x3c8>
  401bf8:	00000000 	nop
	}
	else {
		assert(0);
  401bfc:	8f848018 	lw	a0,-32744(gp)
  401c00:	00000000 	nop
  401c04:	24841fe4 	addiu	a0,a0,8164
  401c08:	24050041 	li	a1,65
  401c0c:	8f868018 	lw	a2,-32744(gp)
  401c10:	00000000 	nop
  401c14:	24c61fec 	addiu	a2,a2,8172
  401c18:	8f878018 	lw	a3,-32744(gp)
  401c1c:	00000000 	nop
  401c20:	24e71ff4 	addiu	a3,a3,8180
  401c24:	8f99802c 	lw	t9,-32724(gp)
  401c28:	00000000 	nop
  401c2c:	0320f809 	jalr	t9
  401c30:	00000000 	nop
  401c34:	8fdc0010 	lw	gp,16(s8)
	}
	
	exit(0);
  401c38:	00002021 	move	a0,zero
  401c3c:	8f99803c 	lw	t9,-32708(gp)
  401c40:	00000000 	nop
  401c44:	0320f809 	jalr	t9
  401c48:	00000000 	nop
  401c4c:	8fdc0010 	lw	gp,16(s8)
  401c50:	00000000 	nop

00401c54 <usage>:

}

static void
usage()
{
  401c54:	3c1c0fc0 	lui	gp,0xfc0
  401c58:	279c67dc 	addiu	gp,gp,26588
  401c5c:	0399e021 	addu	gp,gp,t9
  401c60:	27bdffd8 	addiu	sp,sp,-40
  401c64:	afbc0010 	sw	gp,16(sp)
  401c68:	afbf0020 	sw	ra,32(sp)
  401c6c:	afbe001c 	sw	s8,28(sp)
  401c70:	afbc0018 	sw	gp,24(sp)
  401c74:	03a0f021 	move	s8,sp
	(void)fprintf(stderr, "usage: tr [-s] string1 string2\n");
  401c78:	8f84805c 	lw	a0,-32676(gp)
  401c7c:	00000000 	nop
  401c80:	248400b0 	addiu	a0,a0,176
  401c84:	8f858018 	lw	a1,-32744(gp)
  401c88:	00000000 	nop
  401c8c:	24a51ff8 	addiu	a1,a1,8184
  401c90:	8f998074 	lw	t9,-32652(gp)
  401c94:	00000000 	nop
  401c98:	0320f809 	jalr	t9
  401c9c:	00000000 	nop
  401ca0:	8fdc0010 	lw	gp,16(s8)
  401ca4:	00000000 	nop
	(void)fprintf(stderr, "       tr -d string1\n");
  401ca8:	8f84805c 	lw	a0,-32676(gp)
  401cac:	00000000 	nop
  401cb0:	248400b0 	addiu	a0,a0,176
  401cb4:	8f858018 	lw	a1,-32744(gp)
  401cb8:	00000000 	nop
  401cbc:	24a52018 	addiu	a1,a1,8216
  401cc0:	8f998074 	lw	t9,-32652(gp)
  401cc4:	00000000 	nop
  401cc8:	0320f809 	jalr	t9
  401ccc:	00000000 	nop
  401cd0:	8fdc0010 	lw	gp,16(s8)
  401cd4:	00000000 	nop
	(void)fprintf(stderr, "       tr -s string1\n");
  401cd8:	8f84805c 	lw	a0,-32676(gp)
  401cdc:	00000000 	nop
  401ce0:	248400b0 	addiu	a0,a0,176
  401ce4:	8f858018 	lw	a1,-32744(gp)
  401ce8:	00000000 	nop
  401cec:	24a52030 	addiu	a1,a1,8240
  401cf0:	8f998074 	lw	t9,-32652(gp)
  401cf4:	00000000 	nop
  401cf8:	0320f809 	jalr	t9
  401cfc:	00000000 	nop
  401d00:	8fdc0010 	lw	gp,16(s8)
  401d04:	00000000 	nop
	(void)fprintf(stderr, "       tr -ds string1 string2\n");
  401d08:	8f84805c 	lw	a0,-32676(gp)
  401d0c:	00000000 	nop
  401d10:	248400b0 	addiu	a0,a0,176
  401d14:	8f858018 	lw	a1,-32744(gp)
  401d18:	00000000 	nop
  401d1c:	24a52048 	addiu	a1,a1,8264
  401d20:	8f998074 	lw	t9,-32652(gp)
  401d24:	00000000 	nop
  401d28:	0320f809 	jalr	t9
  401d2c:	00000000 	nop
  401d30:	8fdc0010 	lw	gp,16(s8)
	exit(1);
  401d34:	24040001 	li	a0,1
  401d38:	8f99803c 	lw	t9,-32708(gp)
  401d3c:	00000000 	nop
  401d40:	0320f809 	jalr	t9
  401d44:	00000000 	nop
  401d48:	8fdc0010 	lw	gp,16(s8)
  401d4c:	00000000 	nop

00401d50 <__do_global_ctors_aux>:
  401d50:	3c1c0fc0 	lui	gp,0xfc0
  401d54:	279c66e0 	addiu	gp,gp,26336
  401d58:	0399e021 	addu	gp,gp,t9
  401d5c:	27bdffd8 	addiu	sp,sp,-40
  401d60:	afbc0010 	sw	gp,16(sp)
  401d64:	8f83801c 	lw	v1,-32740(gp)
  401d68:	00000000 	nop
  401d6c:	2463042c 	addiu	v1,v1,1068
  401d70:	8c63fffc 	lw	v1,-4(v1)
  401d74:	2402ffff 	li	v0,-1
  401d78:	afb00018 	sw	s0,24(sp)
  401d7c:	afbf0024 	sw	ra,36(sp)
  401d80:	afbc0020 	sw	gp,32(sp)
  401d84:	8f90801c 	lw	s0,-32740(gp)
  401d88:	00000000 	nop
  401d8c:	26100428 	addiu	s0,s0,1064
  401d90:	1062000b 	beq	v1,v0,401dc0 <__do_global_ctors_aux+0x70>
  401d94:	afb1001c 	sw	s1,28(sp)
  401d98:	2411ffff 	li	s1,-1
  401d9c:	2610fffc 	addiu	s0,s0,-4
  401da0:	0060c821 	move	t9,v1
  401da4:	0320f809 	jalr	t9
  401da8:	00000000 	nop
  401dac:	8fbc0010 	lw	gp,16(sp)
  401db0:	8e020000 	lw	v0,0(s0)
  401db4:	00000000 	nop
  401db8:	1451fff8 	bne	v0,s1,401d9c <__do_global_ctors_aux+0x4c>
  401dbc:	00401821 	move	v1,v0
  401dc0:	8fbf0024 	lw	ra,36(sp)
  401dc4:	8fb1001c 	lw	s1,28(sp)
  401dc8:	8fb00018 	lw	s0,24(sp)
  401dcc:	03e00008 	jr	ra
  401dd0:	27bd0028 	addiu	sp,sp,40
	...
